This is the third public release of InterCal, a freeware date conversion, calendar comparison, and holiday calculation program. It is not a daily appointment calendar. It displays calendars, one month at a time, for any month of any year in any of several calendar systems. For each day in the displayed month, corresponding dates in another calendar system can be shown. For any selected single day, the corresponding dates in all implemented calendar systems can appear in a separate window.
Calendar systems implemented are: Julian, Gregorian, "Western Historical" (a cross between the Julian and Gregorian), Jewish, Islamic, the Elliott Super (invented by the author of InterCal), Mayan, and the French Revolutionary calendar (the official calendar of France for a few years after the Revolution).
Certain religious holydays and festivals are highlighted (under user control) when they occur in a displayed month, regardless of which calendrical system is in use at the time. Some which can be highlighted are Easter, Rosh Hashonah, Hanukah, ‘Id al-Fitr, and the first day of Ramadan.
Limitations
InterCal was designed with 16-inch or larger monitors in mind. But smaller monitors can be used if one is willing to scroll around the display. InterCal exists in a 680x0 version only (no native Power PC version).
InterCal requires System 6 or later (it uses pop up menus) and 32-bit QuickDraw. Actually, it will run without 32-bit QuickDraw with some annoying but non-fatal display anomalies.
InterCal was developed and tested on a Mac IIci running System 7.1. It has been run and casually tested on several other machines (MacPlus, PowerBook, Centris, Performa, PowerMac) running System 6.0.5, System 7.0.1, System 7.1, and System 7.1.2.
Printing has been tested on an NEC Silentwriter™ Model 95 laser printer using both LaserWriter 7 and LaserWriter 8 drivers. It has also been tested on an HP PaintJet™ using the driver provided by HP. It has never been tested on a QuickDraw printer (such as the ImageWriter™).
Acknowledgements
InterCal was developed using Symantec's C++ Version 7.0, Symantec's Visual Architect™, and the Think Class Library. Using those tools shortened development time considerably, but led to an unexpectedly large size for such a simple program. It requires 730K to run.
The InterCal icon was designed and drawn by my 13-year-old daughter Nicole.
As described in more detail in "Calendar System Facts", my ability to include the Jewish calendar depended on access to the source code to a freeware program called "Jewish Calendar" written by Frank Yellin.
The algorithms for the Mayan calendar came from "Calendrical Calculations II: Three Historical Calendars", an article by Reingold, Dershowitz, and Clamen in the journal Software— Practice and Experience, volume 23 number 4 (April 1993). Paper I in that series (same journal, volume 20 number 9, September 1990) contains the rules for the Jewish calendar and appears to have been one of the sources used by Yellin for "Jewish Calendar".
The list of Mayan Correlations and their values comes from the freeware program MacMaya by Steve Stearns.
Changes to the format of the Holidays dialog box beginning with Version 1.2 are based on suggestions by Walter Ian Kaye. My apologies to him for not adding the Bahá’í calendar yet—perhaps in a later version.
The rules for the French Revolutionary calendar were given to me by Dave Stewart, Assistant Professor of History at Hillsdale College. (They are also included in "Calendrical Calculations II", but I did not discover that article until after I had already implemented the calendar.)
Package Contents (A folder containing eight items)
(1)—This ReadMe file, which was written using SimpleText, not TeachText, and so has some text styling which will not be visible if viewed using TeachText.
(2, 3, and 4)—A User's Guide (included for completeness—InterCal is a simple program with very few commands and should be easy to figure out without a manual)—distributed as both a SimpleText document (for general readability) and as a Word™ document (for better formatting and graphics). The SimpleText version had to be split into two parts because SimpleText is limited to rather short documents.
(5, 6, and 7)—A document entitled "Calendar System Facts" which contains a general discussion of calendars and descriptions of each implemented calendar—also in SimpleText and Word™ format, with the SimpleText version in two parts..
No one may distribute InterCal for profit in any form, including (but not limited to) electronic information service distribution, bulletin board distribution, and magnetic or optical medium distribution. Non-profit distribution of the software is fine, providing that the software is not modified in any way, and the complete works and documentation of the software are included in the distribution package.
Disclaimer
The formulas used in the various calendars and the statements concerning calendars made in "Calendar System Facts" are true to the best of my knowledge. However, their accuracy is not guaranteed.
Version History
Version 1.3—
Added support for the Mayan Calendar.
Fixed a bug with the Jewish calendar which, under certain special circumstances, caused incorrect displays in both the main and date windows between 1 Cheshvan and 29 Elul in the year 1 B.W.
Fixed a bug which, under rare circumstances, caused incorrect secondary calendar dates to be displayed if the primary calendar system was Western Historical and the displayed month was October 1582.
Version 1.2—
Added the printing capability;
Changed the appearance and behavior of the Holidays dialog box;
Added Julian Easter and Julian Pentecost to the implemented holidays.
Fixed a bug which sometimes caused an invalid Jewish calendar display—the symptom was months with the wrong number of days, occasionally causing holidays to be displayed in the wrong month. It only happened when the Jewish calendar was the primary, when the date window had been used to change the selected date, and when the change was followed by a "Jump to Selected" command. Even then, additional special circumstances had to be present or the problem would not appear.
Added a workaround for the problem (discussed in the Known Problems section of the Users' Guide) of truncated popup month and era menus. The frequency of the appearance of the problem was reduced, but the problem still occurs.
Version 1.1— (Never publicly released)
Added the French Revolutionary calendar.
Version 1.0—
Initial release. Support for Gregorian, Julian, "Western Historical", Jewish, Islamic, and Elliott Super calendars.
My e-mail address
Comments, corrections, bug reports, and suggestions are welcome via e-mail to the following Internet address: